const db=require('../mysql/index')  //导入数据库配置模块
const plug=require('../plug/index')

//获取组织架构
exports.getOrganization=(req,res)=>{

    const sql='select  *  from organization'
    db.query(sql,function(err,result){

        if (err) return res.sendError(err.message)
        if (result.length ===0) return res.sendError('找不到组织架构数据')
        res.send({status:0,message:"获取组织架构数据成功",data:result})


    })

 }

 //新增组织架构

exports.addOrganization=(req,res)=>{

    const info=req.body
    info.id = plug.Math_random()
    
    // 新增部门前先查看是否已经存在相同名字的部门
    db.query('select * from organization where name=?',info.name,function (err,result){
        if (err) return res.sendError(err.message)
        if (result.length ===0) {
            const sql='insert into organization set ?  '
            db.query(sql,info, function (err,result){
                if (err) return res.sendError(err.message)
                if (result.affectedRows !==1) return  res.sendError('新增部门失败')
                res.send({status:0,message:'新增部门成功！'})

            })
        }else {
            res.sendError('已经存在同名部门')
        }


    })


}

//根据部门id删除该部门

exports.removeOrganization=(req, res)=>{


const id=req.params.id

    //删除这个id所在的部门及其子部门

    const sql='delete from organization where id=? or pid=?'
    db.query(sql,[id, id], function (err,result){
        if (err)  res.sendError(err.message)
        if (result.affectedRows ===0) return res.sendError('删除部门失败')
        res.send({status:0,message:'删除部门成功'})


    })
    
    // const sql1='select * from organization where id=?'
    // db.query(sql1,id,function(err,result){
        
    //     if (err)  res.sendError(err.message)
    //     if (result.length ===0) return res.sendError('删除部门失败')
    //     res.send({status:0,data:'删除部门成功，但是不会真正删除数据'})
    // })


}

//根据部门id修改部门信息

exports.editOriganization=(req,res)=>{
    const id=req.params.id
    const info=req.body

    const sql='select * from organization where id=?'
    db.query(sql,id, (err,result)=>{
        if (err) return res.sendError(err.message)
        if (result.length ===0) return  res.sendError('找不到该部门，请检查是否已经被删除')

        const sql1='update organization set ? where id=?'
        db.query(sql1,[info, id],(err, result)=>{
            if (err) return res.sendError(err.message)
            if (result.affectedRows !==1) return res.sendError('更新部门数据失败')
            res.send({status:0,message:'更新部门数据成功'})

        })


    })


}


